﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

using System.ComponentModel;

namespace xbmc_json_async.Types.Video.Details
{
    /// <summary>
    /// Video.Details.Episode
    /// http://wiki.xbmc.org/index.php?title=JSON-RPC_API/v3#Video.Details.Episode
    /// 
    /// Still to implement (Video.Cast)cast
    /// </summary>
    public abstract class Episode : File
    {
        /// <summary>
        /// Gets or sets the episode.
        /// </summary>
        /// <value>
        /// The episode.
        /// </value>
        [DisplayName("Episode"), Category("General")]
        public int episode { get; set; }

        /// <summary>
        /// Gets or sets the episodeid.
        /// </summary>
        /// <value>
        /// The episodeid.
        /// </value>
        [DisplayName("Episode ID"), Category("General")]
        public int episodeid { get; set; }

        /// <summary>
        /// Gets or sets the firstaired.
        /// </summary>
        /// <value>
        /// The firstaired.
        /// </value>
        [DisplayName("First Aired"), Category("General")]
        public string firstaired { get; set; }

        /// <summary>
        /// Gets or sets the originaltitle.
        /// </summary>
        /// <value>
        /// The originaltitle.
        /// </value>
        [DisplayName("Original Title"), Category("General")]
        public string originaltitle { get; set; }

        /// <summary>
        /// Gets or sets the productioncode.
        /// </summary>
        /// <value>
        /// The productioncode.
        /// </value>
        [DisplayName("Production Code"), Category("General")]
        public string productioncode { get; set; }

        /// <summary>
        /// Gets or sets the rating.
        /// </summary>
        /// <value>
        /// The rating.
        /// </value>
        [DisplayName("Rating"), Category("General")]
        public double rating { get; set; }

        /// <summary>
        /// Gets or sets the season.
        /// </summary>
        /// <value>
        /// The season.
        /// </value>
        [DisplayName("Season"), Category("General")]
        public int season { get; set; }

        /// <summary>
        /// Gets or sets the showid.
        /// </summary>
        /// <value>
        /// The showid.
        /// </value>
        [DisplayName("Show ID"), Category("General")]
        public int showid { get; set; }

        /// <summary>
        /// Gets or sets the showtitle.
        /// </summary>
        /// <value>
        /// The showtitle.
        /// </value>
        [DisplayName("Show Title"), Category("General")]
        public string showtitle { get; set; }

        /// <summary>
        /// Gets or sets the votes.
        /// </summary>
        /// <value>
        /// The votes.
        /// </value>
        [DisplayName("Votes"), Category("General")]
        public string votes { get; set; }

        /// <summary>
        /// Gets or sets the writer.
        /// </summary>
        /// <value>
        /// The writer.
        /// </value>
        [DisplayName("Writer"), Category("General")]
        public string writer { get; set; }

    }
}
